import java.awt.Point;

public class DrawObjectEventProcessor
{
    protected static String FillTextField_TextUnchanged = null;
    protected static DrawObject FillTextField = null;

    protected static DrawObject LineStart = null;

    protected static Point MoveMousePosLast = null;

    protected static DrawObject NearObject = null;
    protected static DrawObject NearObjectLast = null;

    protected static Selection Selection = null;
    protected static boolean MultiSelectionExisting = false;

    protected static DrawObject SingleSelectedObject = null;
    protected static Point SingleSelectedObjectOffset = new Point(0, 0);

    protected static final String FillTextFieldMessage = "Enter TextField text";

    protected DrawObject UNDEFINED = null;
    protected Point UNDEFINED_POINT = null;
    protected Selection UNDEFINED_SELECTION = null;

    protected boolean DEFINED(Object O)
    {
        return (O != null);
    }

    protected boolean KeyboardEventsToBeProcessed(MainWindow.GUIElements GUIElements)
    {
        if (DEFINED(FillTextField))
            return false;

        if (GUIElements.GetMainWindow().IsBackUpRestoreEnabled())
            return false;

        return true;
    }

    protected boolean MouseEventsToBeProcessed(MainWindow.GUIElements GUIElements)
    {
        if (DEFINED(FillTextField))
            return false;

        if (GUIElements.GetMainWindow().IsBackUpRestoreEnabled())
            return false;

        return true;
    }

    protected boolean NOT(boolean Value)
    {
        return !Value;
    }

    public void TryProcessUserKeyboardAction(MainWindow.GUIElements GUIElements, KeyEventProcessor KeyEventProcessor, MouseEventProcessor MouseEventProcessor, ObjectStorage ObjectStorage, IOProgram IOProgram)
    {

    }

    public void TryProcessUserMouseAction(MainWindow.GUIElements GUIElements, KeyEventProcessor KeyEventProcessor, MouseEventProcessor MouseEventProcessor, ObjectStorage ObjectStorage, IOProgram IOProgram)
    {

    }

    protected boolean UNDEFINED(Object O)
    {
        return (O == null);
    }
}
